package j03exception;
/*
return
异常中的return，可能不会停止
 */
public class J5return {
    public static void main(String[] args) {
        System.out.println(f1());//3
        System.out.println("=========");
        System.out.println(f2());//4
        System.out.println("=======");
        System.out.println(f3());
    }

    //finally的return会覆盖try里的，如果finally里没有return，使用try的  不推荐
    public static int f3() {

        //try，catch中finally无论如何都会执行
        try {
            System.out.println("enter try");
            //强制停止
//            System.exit(0);
            System.out.println(11);
            System.out.println(10/0);
            return 3;
        }catch (Exception e){
            System.out.println(222);
            return 4;
        }finally {
            //代码正确与否，都会进入这里
            System.out.println("finally");
//            return 5;
        }
    }

    //有错误
    public static int f2() {
        try {
            System.out.println(11);
            //遇到异常，try立即停止，走向catch
            System.out.println(10/0);
            return 3;
        }catch (Exception e){
            System.out.println(222);
            return 4;
        }
//        System.out.println("end");
    }

    //没有错误
    public static int f1() {
        try {
            System.out.println(11);
            return 3;
        }catch (Exception e){
            System.out.println(222);
            return 4;
        }
//        System.out.println("end");
    }
}
